<?php

//Hoarau Vincent 21 Avril 2014

namespace Blog;							
require ("Blog.Taggable.php");

class TaggableTest implements Taggable {
	
	private $_tag = array ();			//Définit l'ensemble des tags comme un tableau
	
	public function addTag ($newtag) {	//Méthode d'ajout d'un tag
		
		if (is_string($newtag)) {		//Vérifie le type du tag à ajouter
		array_push($this ->_tag, $newtag); 	//Ajoute le tag dans la liste, le tableau
		} else {
			echo "Le tag n'est pas valable";}	//Si le type ne convient pas
	}
	
	public function removeTag ($oldtag) {		//Méthode de suppression d'un tag
		
		if (is_string($oldtag)) {				//Vérifie le type de tag
			unset($_tag[$oldtag]);				//Supprime le Tag si il est dans le tableau
		} else {
			echo "Le tag à supprimer n'existe pas / n'est pas valable"; }	//Cas où il n'est pas trouvé
	
		}
		
	public function tagCount() {				//Retourne le nombre de tags
		print_r("Nombre de tags : ".count($this -> _tag)."\n\n");	//Compte et affiche le nombre d'éléments du tableau
	}
	
	public function getTags() {					//Retourne toute les valeurs du tableau
		print_r(array_values($this -> _tag));
	}
}

$obj = new TaggableTest();			//Tests
$obj -> addTag("1");
$obj -> addTag("aaa");
$obj -> tagCount();
$obj -> getTags();
?>
